/**
 * 命令模式
 * 一般由四个角色实现
 * ICommand, 命令接口
 * Commander, 命令接口实现类, 实现具体的命令执行
 * Reciever, 命令接收者
 * Invoker, 命令请求者
 * Invoker -> Reciever -> Commander
 */
import Commander from './Commander'
import Invoker from './Invoker'
import Reciever from "./Reciever";

// 命令注入器
const commandInvoker = new Invoker();
// 刷新命令
const refresher = new Reciever('hello refresh');
const refreshCommand = new Commander(refresher);
// sleep命令
const sleeper = new Reciever('sleep');
const sleepCommand = new Commander(sleeper);

commandInvoker.setCommand(refreshCommand)
commandInvoker.runCommand();

commandInvoker.setCommand(sleepCommand)
commandInvoker.runCommand();